package com.study.map.dto;

import lombok.Data;
import java.util.List;

/**
 * 天气查询响应DTO
 *
 * @author study
 * @date 2025-08-31
 */
@Data
public class WeatherResponse {

    /**
     * 返回状态码
     * 1：成功；0：失败
     */
    private String status;

    /**
     * 返回的状态信息
     */
    private String info;

    /**
     * 状态码
     * 10000：请求正常；其他：请求异常
     */
    private String infocode;

    /**
     * 天气预报结果
     */
    private List<Weather> lives;

    /**
     * 天气预报结果（预报天气）
     */
    private List<Forecast> forecasts;

    /**
     * 实时天气信息
     */
    @Data
    public static class Weather {
        /**
         * 省份名
         */
        private String province;

        /**
         * 城市名
         */
        private String city;

        /**
         * 区域编码
         */
        private String adcode;

        /**
         * 天气现象
         */
        private String weather;

        /**
         * 实时气温
         */
        private String temperature;

        /**
         * 风向
         */
        private String winddirection;

        /**
         * 风力
         */
        private String windpower;

        /**
         * 空气湿度
         */
        private String humidity;

        /**
         * 数据发布的时间
         */
        private String reporttime;
    }

    /**
     * 预报天气信息
     */
    @Data
    public static class Forecast {
        /**
         * 城市名
         */
        private String city;

        /**
         * 区域编码
         */
        private String adcode;

        /**
         * 省份名
         */
        private String province;

        /**
         * 预报发布时间
         */
        private String reporttime;

        /**
         * 预报数据
         */
        private List<Cast> casts;
    }

    /**
     * 预报数据信息
     */
    @Data
    public static class Cast {
        /**
         * 日期
         */
        private String date;

        /**
         * 星期
         */
        private String week;

        /**
         * 白天天气现象
         */
        private String dayweather;

        /**
         * 夜间天气现象
         */
        private String nightweather;

        /**
         * 白天温度
         */
        private String daytemp;

        /**
         * 夜间温度
         */
        private String nighttemp;

        /**
         * 白天风向
         */
        private String daywind;

        /**
         * 夜间风向
         */
        private String nightwind;

        /**
         * 白天风力
         */
        private String daypower;

        /**
         * 夜间风力
         */
        private String nightpower;
    }
}